home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 11 / FM Towns Free Software Collection 11.iso / t_os / tool / artemis1 / usrlib / include / math2.h < prev    next >
Text File  |  1993-09-01  |  791b  |  23 lines

  1. /*
  2. *            math.h の補助            ver 0.3
  3. */
  4.  
  5. #define sign( a )        (  ( (a)>0 ) ? (1) : ( ((a)<0)?(-1):(0) )  )
  6. #define max( a, b )        ( ( (a) > (b) ) ? (a) : (b) )
  7. #define min( a, b )        ( ( (a) < (b) ) ? (a) : (b) )
  8. #undef ads
  9. // #define abs( a )        ( ( (a) >  0  ) ? (a) : (-(a)) )
  10.  
  11. #define DECIMAL 10        /*    これは下位の 10bit shift の意味。 したがって本当の単位は 2^10。 整数部 2^22。        */
  12. #define DUNIT     1024    /* = 2^10 */
  13.  
  14. /* 整数固定少数変換 */
  15. #define IntToDeci( i )    ( (i) << DECIMAL )
  16. #define DeciToInt( d )    ( (d) >> DECIMAL )
  17. /* 固定少数の演算の補正 Macro。 (まとてやったほうが速いから別にしておく) */
  18. #define AdjMulDeci( d )    ( (d) >> DECIMAL )
  19. #define AdjDivDeci( d )    ( (d) << DECIMAL )
  20. #define MulDeci( a, b ) ( (a)*(b) >> DECIMAL )
  21. #define DivDeci( a, b ) ( ((a) << DECIMAL) /(b) )
  22.  
  23.